package com.dingding.manager.core.shiro;

import java.io.Serializable;
import java.util.List;

/**
 * @Description 自定义Authentication对象，使得Subject除了携带用户的登录名外还可以携带更多信息
 * @author fengshuonan
 * @date 2016年12月5日 上午10:26:43
 */
public class ShiroUser implements Serializable {

	private static final long serialVersionUID = 1L;

	public Integer id; // 主键ID
	public String loginName; // 账号
	public String name; // 姓名
	public Integer companyId; // 公司id
	public Integer deptId; // 部门id
	public List<Integer> roleList; // 角色集
	public String companyName; // 公司名称
	public String deptName; // 部门名称
	public List<String> roleNames; // 角色名称集

	public ShiroUser(Integer id, String loginName, String name, Integer companyId, Integer deptId,
			List<Integer> roleList,String companyName,String deptName,List<String> roleNames) {
		this.id = id;
		this.loginName = loginName;
		this.name = name;
		this.companyId = companyId;
		this.deptId = deptId;
		this.roleList = roleList;
		this.companyName=companyName;
		this.deptName=deptName;
		this.roleNames=roleNames;
	}

	public String getName() {
		return name;
	}

	/**
	 * 本函数输出将作为默认的<shiro:principal/>输出.
	 */
	@Override
	public String toString() {
		return loginName;
	}

	public Integer getId() {
		return id;
	}

	public String getLoginName() {
		return loginName;
	}

	public List<Integer> getRoleList() {
		return roleList;
	}

	public Integer getCompanyId() {
		return companyId;
	}

	public Integer getDeptId() {
		return deptId;
	}

	public String getCompanyName() {
		return companyName;
	}

	public String getDeptName() {
		return deptName;
	}

	public List<String> getRoleNames() {
		return roleNames;
	}

}
